﻿using NewRetail.Application.Core.Entity;

namespace NewRetail.Application.Components.TianQue.Entity
{
    public class TianQuePayRecordEntity : BaseEntity
    {
        /// <summary>
        /// 天阙平台唯一标识
        /// </summary>
        public string uuid { get; set; }
        /// <summary>
        /// 商户编号
        /// </summary>
        public string mno { get; set; }
        /// <summary>
        /// 天阙平台机构编号
        /// </summary>
        public string orgId { get; set; }
        /// <summary>
        /// 交易类型，枚举值：
        //0001 消费
        //0002 撤销
        //0003 预授权
        //0004 预授权撤销
        //0005 预授权完成
        //0006 预授权完成撤销
        //0007 冲正
        //0008 退货
        //0027 现金消费
        /// </summary>
        public string tranType { get; set; }
        /// <summary>
        /// 交易状态，枚举值：
        //S 成功
        //F 失败
        //Q 未支付
        /// </summary>
        public string tranSts { get; set; }
        /// <summary>
        /// 交易来源，枚举值：01 POS06 外部接入
        /// </summary>
        public string paySource { get; set; }
        /// <summary>
        /// 订单号
        /// </summary>
        public string ordNo { get; set; }
        /// <summary>
        /// 交易流水号
        /// </summary>
        public string tranSeqNo { get; set; }
        /// <summary>
        /// 原交易流水号
        /// </summary>
        public string ouuid { get; set; }
        /// <summary>
        /// 交易日期，格式：YYYYMMDD
        /// </summary>
        public string tranDt { get; set; }
        /// <summary>
        /// 交易时间，格式：HHmmss
        /// </summary>
        public string tranTm { get; set; }
        /// <summary>
        /// 卡号 加密
        /// </summary>
        public string cardNo { get; set; }
        /// <summary>
        /// 终端编号
        /// </summary>
        public string trmNo { get; set; }
        /// <summary>
        /// 批次号
        /// </summary>
        public string batNo { get; set; }
        /// <summary>
        /// 小票流水号
        /// </summary>
        public string posSeqNo { get; set; }
        /// <summary>
        /// 检索参考号
        /// </summary>
        public string searchNo { get; set; }
        /// <summary>
        /// 授权码
        /// </summary>
        public string authCode { get; set; }
        /// <summary>
        /// 支付方式
        /// </summary>
        public string payType { get; set; }
        /// <summary>
        /// 费率（单位%）
        /// </summary>
        public string mecFeeRate { get; set; }
        /// <summary>
        /// 借贷标识，枚举值：
        //00 借记卡
        //01 贷记卡
        //02 准贷记卡
        //03 预付卡
        //81 境外卡
        /// </summary>
        public string crdTyp { get; set; }
        /// <summary>
        /// 消费者id
        /// </summary>
        public string consumerId { get; set; }
        /// <summary>
        /// 支付渠道
        /// </summary>
        public string payChannals { get; set; }
        /// <summary>
        /// 交易金额（单位元）
        /// </summary>
        public string tranAmt { get; set; }
        /// <summary>
        /// 手续费金额（单位元）
        /// </summary>
        public string feeAmt { get; set; }
        /// <summary>
        /// 签名
        /// </summary>
        public string sign { get; set; }
        /// <summary>
        /// 优惠费率标识，枚举值
        //取值范围：
        //1 云闪付
        //说明：手机PAY的支付 1000以下的优惠费率 返回1 云闪付
        /// </summary>
        public string specialOffer { get; set; }
        /// <summary>
        /// 业务订单信息，POS订单支付业务返回
        /// </summary>
        public BizOrderInfo bizOrderInfo { get; set; }
    }
    /// <summary>
    /// 业务订单信息，POS订单支付业务返回
    /// </summary>
    public class BizOrderInfo
    {
        /// <summary>
        /// 业务订单类型
        //枚举值
        //01消费
        //02退货
        /// </summary>
        public string bizOrderType { get; set; }
        /// <summary>
        /// 商户业务订单号
        //业务订单类型为“01消费”时对应商户业务订单号
        //业务订单类型为“02退货”时对应商户退款业务订单号
        /// </summary>
        public string bizOrderNo { get; set; }
        /// <summary>
        /// 天阙业务订单号
        //业务订单类型为“01消费”时对应天阙业务订单号
        //业务订单类型为“02退货”时对应天阙退款业务订单号
        /// </summary>
        public string bizTqNo { get; set; }
        /// <summary>
        /// 原商户业务订单号
            //业务订单类型为“02退货”时返回
        /// </summary>
        public string origBizOrderNo { get; set; }
        /// <summary>
        /// 原天阙业务订单号
            //业务订单类型为“02退货”时返回
        /// </summary>
        public string origBizTqNo { get; set; }
        /// <summary>
        /// 业务订单状态，枚举值：
        //01未完成
        //02已完成
        //03已关闭
        /// </summary>
        public string bizOrderStatus { get; set; }
        /// <summary>
        /// 业务订单的总金额(元)，格式：#########.##
        /// </summary>
        public string bizAllAmt { get; set; }
        /// <summary>
        /// 业务订单已支付金额
        //业务订单类型为“01消费”时返回
        //业务订单当前实际已支付金额(元)，格式：#########.##
        /// </summary>
        public string bizOrderAmt { get; set; }
        /// <summary>
        /// 业务订单未支付金额
        //业务订单类型为“01消费”时返回
        //业务订单剩余未支付的金额(元)，格式：#########.##
        /// </summary>
        public string bizOrderBalance { get; set; }
        /// <summary>
        /// 业务订单已退款金额
        //业务订单类型为“01消费”时返回
        //业务订单累计已退款的金额(元)，格式：#########.##
        /// </summary>
        public string bizOrderRefundAmt { get; set; }
        /// <summary>
        /// 业务订单退款状态
        //业务订单类型为“01消费”时返回
        //枚举值：
        //01未退款
        //02部分退款
        //03全额退款
        /// </summary>
        public string bizOrderRefundType { get; set; }
        /// <summary>
        /// 业务订单的发起时间
        /// </summary>
        public string createTime { get; set; }
        /// <summary>
        /// 业务订单的完成时间
        /// </summary>
        public string finishTime { get; set; }
        /// <summary>
        /// 订单分账标识
        //业务订单类型为“01消费”时返回
        //异步分账类型，枚举值（默认值 01）
        //取值范围：
        //01 不分账
        //04 分账 （多次分账）
        /// </summary>
        public string ledgerAccountFlag { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        public string entend { get; set; }
    }
}
